package com.dcy.znoa.domain.estate;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * <p>
 * 物业服务表
 * </p>
 *
 * @author cook
 * @since 2018-05-21
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("estate_service")
public class EstateService extends Model<EstateService> {

    /**
     * 物业服务ID
     */
	@TableId(value="esser_id", type= IdType.AUTO)
	private Long esserId;
    /**
     * 物业ID
     */
	@TableField("es_id")
	private Long esId;
    /**
     * 公司ID
     */
	@TableField("comp_id")
	private Long compId;
    /**
     * 接收人ID
     */
	@TableField("receive_oper_id")
	private Long receiveOperId;
	/**
	 * 接收人接收时间
	 */
	@TableField("receive_receive_time")
	private Date receiveReceiveTime;
    /**
     * 处理人ID
     */
	@TableField("handle_oper_id")
	private Long handleOperId;
	/**
	 * 处理人接收时间
	 */
	@TableField("handle_receive_time")
	private Date handleReceiveTime;
	/**
	 * 接收人完成时间
	 */
	@TableField("end_time")
	private Date endTime;
    /**
     * 服务类型：1 报修 2 保洁 3 送水
     */
	@TableField("type")
	private Integer type;
    /**
     * 服务子类型
            报修时：
            1 家电
            2 电路
            3 桌椅
            4 水管
            5 电脑
            6 门窗
            7 其他
     */
	@TableField("child_type")
	private Integer childType;
    /**
     * 备注
     */
	@TableField
	private String remark;
    /**
     * 送水数量，只有送水时才有意义
     */
	@TableField("water_no")
	private Integer waterNo;
    /**
     * 预约时间
     */
	@TableField("bespeak_time")
	private Date bespeakTime;
    /**
     * 相关地址
     */
	@TableField
	private String address;
    /**
     * 订单状态
            1 待接单
            2 已接单
            3 处理中
            4 处理完成
     */
	private Integer status;
    /**
     * 记录时间
     */
	@TableField("create_time")
	private Date createTime;
    /**
     * 创建人id
     */
	@TableField("create_oper_id")
	private Long createOperId;
    /**
     * 更新时间
     */
	@TableField("update_time")
	private Date updateTime;
    /**
     * 创建人id
     */
	@TableField("update_oper_id")
	private Long updateOperId;
    /**
     * 有效标记
     */
	@TableField("valid_flag")
	private Integer validFlag;

	@TableField(exist = false)
	String operName;

	@TableField(exist = false)
	String phoneNo;//创建用户手机号码

	@TableField(exist = false)
	String headPic;//创建用户头像

	@TableField(exist = false)
	String compName;

	@TableField(exist = false)
	String depName;

	@TableField(exist = false)
	String receiveOperName;//接收人姓名

	@TableField(exist = false)
	String handleOperName;//处理人姓名

	//附件 来自 AddStoreFileModel
	@TableField(exist = false)
	private String fileName;
	@TableField(exist = false)
	private String remoteFileName;//以逗号分隔
	@TableField(exist = false)
	private String downloadPath;


	@Override
	protected Serializable pkVal() {
		return this.esserId;
	}

}
